import numpy as np



def new_array(array,rate):  #array是定义好的全1矩阵，rate是矩阵中每个值取0的概率
    '''按照数组模板生成对应的 0-1 矩阵'''
    zeros_num = int(array.size * rate)  #根据0的比率来得到 0的个数
    new_array = np.ones(array.size)  #生成与原来模板相同的矩阵，全为1
    new_array[:zeros_num] = 0  #将一部分换为0
    np.random.shuffle(new_array)  #将0和1的顺序打乱
    re_array = new_array.reshape(array.shape)  #重新定义矩阵的维度，与模板相同
    return re_array
#得到一个全1矩阵，按照rate=0.5的比率生成新矩阵
arr = np.ones(25)  #生成一维数组arr，值默认为1
arr2 = arr.reshape(5,5)  #将数组array变形成15*15的矩阵arr2
new_arr = new_array(arr2,rate=0.5)
print(new_arr)# 新矩阵
c = new_arr[-5][-2]
print(c)